package com.ruoyi.system.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 转发消息关联（存储转发消息与原始消息的关联关系）对象 forward_message
 * 
 * @author ruoyi
 * @date 2025-09-12
 */
public class ForwardMessage extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 记录唯一标识（主键） */
    private String id;

    /** 转发消息ID（关联消息表message的id） */
    @Excel(name = "转发消息ID", readConverterExp = "关=联消息表message的id")
    private String messageId;

    /** 被转发的原始消息ID（关联消息表message的id） */
    @Excel(name = "被转发的原始消息ID", readConverterExp = "关=联消息表message的id")
    private String originalMessageId;

    /** 是否删除（0=正常，1=已删除） */
    @Excel(name = "是否删除", readConverterExp = "0==正常，1=已删除")
    private Long isDeleted;

    /** 乐观锁版本号（用于并发控制） */
    @Excel(name = "乐观锁版本号", readConverterExp = "用=于并发控制")
    private Long version;

    /** 创建人ID（关联用户表） */
    @Excel(name = "创建人ID", readConverterExp = "关=联用户表")
    private String creator;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public void setMessageId(String messageId)
    {
        this.messageId = messageId;
    }

    public String getMessageId() 
    {
        return messageId;
    }

    public void setOriginalMessageId(String originalMessageId) 
    {
        this.originalMessageId = originalMessageId;
    }

    public String getOriginalMessageId() 
    {
        return originalMessageId;
    }

    public void setIsDeleted(Long isDeleted) 
    {
        this.isDeleted = isDeleted;
    }

    public Long getIsDeleted() 
    {
        return isDeleted;
    }

    public void setVersion(Long version) 
    {
        this.version = version;
    }

    public Long getVersion() 
    {
        return version;
    }

    public void setCreator(String creator) 
    {
        this.creator = creator;
    }

    public String getCreator() 
    {
        return creator;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("messageId", getMessageId())
            .append("originalMessageId", getOriginalMessageId())
            .append("isDeleted", getIsDeleted())
            .append("version", getVersion())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("creator", getCreator())
            .toString();
    }
}
